home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcr / readme < prev   
Text File  |  1992-04-17  |  4KB  |  95 lines

  1. #
  2. # README
  3. #
  4. #  Copyright (c) 1988,1990 Xerox Corporation. All rights reserved.
  5. #  Use and copying of this software and preparation of derivative works based
  6. #  upon this software are permitted. Any distribution of this software or
  7. #  derivative works must comply with all applicable United States export
  8. #  control laws. This software is made available AS IS, and Xerox Corporation
  9. #  makes no warranty about the software, its performance or its conformity to
  10. #  any specification. Any person obtaining a copy of this software is requested
  11. #  to send their name and post office or electronic mail address to:
  12. #    PCR Coordinator
  13. #    Xerox PARC
  14. #    3333 Coyote Hill Rd.
  15. #    Palo Alto, CA 94304
  16. #
  17. #
  18. #   Demers, November 1, 1988 3:11:16 pm PST
  19. #   Weiser, December 1, 1989
  20. #   Boehm,  April 8, 1992
  21. #
  22.  
  23. Welcome to xr, the Xerox Portable Common Runtime (also known as PCR)!
  24.  
  25. PCR provides a runtime environment that supports multiple threads,
  26. dynamic loading, and garbage collection for clients written either in C,
  27. or in a higher level language, and compiled by a compiler that understands
  28. PCRs primitives.  It supports scheduling of threads by more than one
  29. UNIX process (and hence by more than one physical processor on a Sun
  30. multiprocessor, or similar system.)  The garbage collector runs mainly
  31. concurrently with client code.
  32.  
  33. APOLOGIA
  34.  
  35. The documentation for 4_4 has been substantially revised.  (That for
  36. 3_4 was so obsolete as to be almost completely useless.)  Nonetheless
  37. a lot more documentation would be useful.  The DIST/MAN directory
  38. contains 4 manual pages.  But most of the documentation is really in
  39. the include files.  These are all copied to DIST/INCLUDE/xr by the
  40. makefile.
  41.  
  42. In spite of its name, this version has not been tested recently for
  43. portability.  Earlier versions once ran on 68020's and Mach and SunOS 3.5.
  44. But, all we are sure of about this version is that it runs on Sun-4's under
  45. SunOS 4.1.1 and 4.1.2.
  46.  
  47. Current versions of PCR are known to contain operating system dependencies
  48. that make ports to even other UNIX versions nontrivial.  The garbage
  49. collector write protects pages and catches the resulting bus errors.
  50. The dynamic loader has to know a lot about load file formats.  The
  51. multiple-UNIX-process architecture requires that open file descriptors
  52. can be passed between processes.  (4.3BSD and derivatives can do
  53. that, though it's not well-known or well-documented.)  The shared
  54. memory implementation requires that memory segments can be placed
  55. in the process address space where PCR wants them, and not where the
  56. kernel wants them.  Unfortunately, there seems to be no way to remove
  57. most of these dependencies without either limiting thread scheduling
  58. to a single UNIX process (and thus a single physical processor) or
  59. degrading collector performance.
  60.  
  61. But we do advise using PCR.  We use it.  We welcome feedback if you try to
  62. bring up PCR or port it, but we can't promise much in the way of replies.
  63. Send commentary mail to PCRCoordinator@parc.xerox.com.  Thanks.
  64.  
  65. GETTING STARTED
  66.  
  67. If you got this far you must have had 2MB free on your disk.  Congratulations.
  68. To actually build the system you'll need another 12MB free.  Make sure you
  69. have this before going much further.  (The PCR executable itself is
  70. about 665K + symbol table.  Much of this does not need to be paged
  71. in unless you use a large fraction of the 96MB maximum heap size.)
  72.  
  73. This is the top-level directory.  Think of it as the home directory of a "user"
  74. named "xr".  (We literally do this at PARC).  Almost all the files used
  75. when PCR is actually operating remain here, with symbolic links and
  76. environment variables pointing from individual programs and shell scripts
  77. back to here.
  78.  
  79. When you first receive the distribution, there will be two subdirectories:
  80.  
  81.     UTILITIES: a couple of useful commands.
  82.     DIST: the bulk of the PCR distribution.
  83.  
  84. After you have installed the system, the DIST subdirectory will be replaced by
  85. subdirectories of the form
  86.  
  87.     xx_yy.zz: PCR version xx_yy, local version zz.
  88.     INSTALLED: a symbolic link to the latest version.
  89.     DEVELOPMENT (optional): the place where changes are being made
  90.  
  91. Symbolic links will be created in the "usual" places (e.g. /usr/include) that point into the INSTALLED subtree.
  92.  
  93. For installation instructions, consult DIST/README.
  94.  
  95.